package modelovectorial.persistencia;

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * @project DLC Final / UTN FRC 2013
 * @date Febrero de 2013
 *
 * @author Gonzalo Arribere
 * @author Gustavo Morales
 * @author Pablo Moreno
 */
public class GestorConexionesDB {

    private Connection conexion;

    public GestorConexionesDB() {
    }

    /**
     * Devuelve una conexion a la base de datos
     *
     * @return conexion Una variable que representa la conexion a la base.
     */
    public Connection getConexionALaBase() {
        //Inicializa el driver
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (Exception e) {
            System.out.println("Problemas en la inicializacion del driver" + e.getStackTrace());
        }
        try {
            //establece la conexion con la bd
            conexion = DriverManager.getConnection("jdbc:mysql://localhost/db?useServerPrepStmts=true", "root", "password");
            conexion.setAutoCommit(false);
        } catch (SQLException e) {
            System.out.println("Problemas al obtener la conexion" + e.getStackTrace());
            Logger.getLogger(GestorConexionesDB.class.getName()).log(Level.SEVERE, null, e);
        }
        return conexion;
    }

    public void cerrarConexionALaBase() {
        try {
            conexion.close();
        } catch (SQLException ex) {
            System.out.println("Problemas al intentar cerrar la conexion conexion a la base de datos");
            Logger.getLogger(GestorConexionesDB.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}